package com.koron.order.repair.service;

import com.koron.common.core.business.common.service.CommonService;
import com.koron.order.common.bean.po.OrderInstructionBean;
import com.koron.order.common.bean.po.OrderSignBean;
import com.koron.order.repair.bean.entity.*;
import com.koron.order.repair.bean.vo.*;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

public interface RepairExecuteService extends CommonService {

    int insertOrUpdate(SessionFactory factory, RepairExecuteVo repairExecuteVo);

    String insertOrUpdateExecuteInfo(SessionFactory factory, RepairExecuteInfoVo repairExecuteInfoVo);

    boolean deleteExecuteInfo(SessionFactory factory, String orderId, String orderExecuteId);

    String insertOrUpdateOperateForm(SessionFactory factory, OperateFormVo operateFormVo);

    int deleteById(SessionFactory factory, String id);

    OperateFormVo queryByOrderId(SessionFactory factory, String orderId);

    List<RepairReadyPo> queryReadyByOrderId(SessionFactory factory, String orderId);

    List<OrderInstructionBean> queryInstructionByOrderId(SessionFactory factory, String orderId);

    List<RepairEquipmentVo> queryEquipmentVoByOrderId(SessionFactory factory, String orderId);

    List<RepairEquipmentPo> queryEquipmentBeanListByOrderId(SessionFactory factory, String orderId);

    List<RepairItemVo> queryRepairItemByEqId(SessionFactory factory, String orderId, String repairEquipmentId);

    int updateRepairReady(SessionFactory factory, RepairReadyPo repairReadyPo);

    int updateRepairItemVo(SessionFactory factory, RepairItemVo repairItemVo);

    int updateRepairInfo(SessionFactory factory, RepairPo repairPo);

    boolean generateStand(SessionFactory factory, String orderId);

    int updateRepairItem(SessionFactory factory, RepairItemPo repairItemPo);

    int updateRepairItemParams(SessionFactory factory, RepairItemParamsPo itemParamsBean);

    int insertOrderSignInfo(SessionFactory factory, OrderSignBean orderSignBean);

    int deleteOrderSignInfo(SessionFactory factory, String orderSignId);

}
